{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Predicting Student Admissions with Neural Networks\n",
    "In this notebook, we predict student admissions to graduate school at UCLA based on three pieces of data:\n",
    "- GRE Scores (Test)\n",
    "- GPA Scores (Grades)\n",
    "- Class rank (1-4)\n",
    "\n",
    "The dataset originally came from here: http://www.ats.ucla.edu/\n",
    "\n",
    "## Loading the data\n",
    "To load the data and format it nicely, we will use two very useful packages called Pandas and Numpy. You can read on the documentation here:\n",
    "- https://pandas.pydata.org/pandas-docs/stable/\n",
    "- https://docs.scipy.org/"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>admit</th>\n",
       "      <th>gre</th>\n",
       "      <th>gpa</th>\n",
       "      <th>rank</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>380</td>\n",
       "      <td>3.61</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>660</td>\n",
       "      <td>3.67</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>800</td>\n",
       "      <td>4.00</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>640</td>\n",
       "      <td>3.19</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>520</td>\n",
       "      <td>2.93</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>1</td>\n",
       "      <td>760</td>\n",
       "      <td>3.00</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>1</td>\n",
       "      <td>560</td>\n",
       "      <td>2.98</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>0</td>\n",
       "      <td>400</td>\n",
       "      <td>3.08</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>1</td>\n",
       "      <td>540</td>\n",
       "      <td>3.39</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>0</td>\n",
       "      <td>700</td>\n",
       "      <td>3.92</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   admit  gre   gpa  rank\n",
       "0      0  380  3.61     3\n",
       "1      1  660  3.67     3\n",
       "2      1  800  4.00     1\n",
       "3      1  640  3.19     4\n",
       "4      0  520  2.93     4\n",
       "5      1  760  3.00     2\n",
       "6      1  560  2.98     1\n",
       "7      0  400  3.08     2\n",
       "8      1  540  3.39     3\n",
       "9      0  700  3.92     2"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Importing pandas and numpy\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "\n",
    "# Reading the csv file into a pandas DataFrame\n",
    "data = pd.read_csv('student_data.csv')\n",
    "\n",
    "# Printing out the first 10 rows of our data\n",
    "data[:10]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Plotting the data\n",
    "\n",
    "First let's make a plot of our data to see how it looks. In order to have a 2D plot, let's ingore the rank."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f703bbaa1d0>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Importing matplotlib\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "# Function to help us plot\n",
    "def plot_points(data):\n",
    "    X = np.array(data[[\"gre\",\"gpa\"]])\n",
    "    y = np.array(data[\"admit\"])\n",
    "    admitted = X[np.argwhere(y==1)]\n",
    "    rejected = X[np.argwhere(y==0)]\n",
    "    plt.scatter([s[0][0] for s in rejected], [s[0][1] for s in rejected], s = 25, color = 'red', edgecolor = 'k')\n",
    "    plt.scatter([s[0][0] for s in admitted], [s[0][1] for s in admitted], s = 25, color = 'cyan', edgecolor = 'k')\n",
    "    plt.xlabel('Test (GRE)')\n",
    "    plt.ylabel('Grades (GPA)')\n",
    "    \n",
    "# Plotting the points\n",
    "plot_points(data)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Roughly, it looks like the students with high scores in the grades and test passed, while the ones with low scores didn't, but the data is not as nicely separable as we hoped it would. Maybe it would help to take the rank into account? Let's make 4 plots, each one for each rank."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f703bbdcc50>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f703bace668>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f703ba3e208>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f703b9b63c8>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Separating the ranks\n",
    "data_rank1 = data[data[\"rank\"]==1]\n",
    "data_rank2 = data[data[\"rank\"]==2]\n",
    "data_rank3 = data[data[\"rank\"]==3]\n",
    "data_rank4 = data[data[\"rank\"]==4]\n",
    "\n",
    "# Plotting the graphs\n",
    "plot_points(data_rank1)\n",
    "plt.title(\"Rank 1\")\n",
    "plt.show()\n",
    "plot_points(data_rank2)\n",
    "plt.title(\"Rank 2\")\n",
    "plt.show()\n",
    "plot_points(data_rank3)\n",
    "plt.title(\"Rank 3\")\n",
    "plt.show()\n",
    "plot_points(data_rank4)\n",
    "plt.title(\"Rank 4\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This looks more promising, as it seems that the lower the rank, the higher the acceptance rate. Let's use the rank as one of our inputs. In order to do this, we should one-hot encode it.\n",
    "\n",
    "## TODO: One-hot encoding the rank\n",
    "Use the `get_dummies` function in Pandas in order to one-hot encode the data."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>admit</th>\n",
       "      <th>gre</th>\n",
       "      <th>gpa</th>\n",
       "      <th>rank_1</th>\n",
       "      <th>rank_2</th>\n",
       "      <th>rank_3</th>\n",
       "      <th>rank_4</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>380</td>\n",
       "      <td>3.61</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>660</td>\n",
       "      <td>3.67</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>800</td>\n",
       "      <td>4.00</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>640</td>\n",
       "      <td>3.19</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>520</td>\n",
       "      <td>2.93</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>1</td>\n",
       "      <td>760</td>\n",
       "      <td>3.00</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>1</td>\n",
       "      <td>560</td>\n",
       "      <td>2.98</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>0</td>\n",
       "      <td>400</td>\n",
       "      <td>3.08</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>1</td>\n",
       "      <td>540</td>\n",
       "      <td>3.39</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>0</td>\n",
       "      <td>700</td>\n",
       "      <td>3.92</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   admit  gre   gpa  rank_1  rank_2  rank_3  rank_4\n",
       "0      0  380  3.61       0       0       1       0\n",
       "1      1  660  3.67       0       0       1       0\n",
       "2      1  800  4.00       1       0       0       0\n",
       "3      1  640  3.19       0       0       0       1\n",
       "4      0  520  2.93       0       0       0       1\n",
       "5      1  760  3.00       0       1       0       0\n",
       "6      1  560  2.98       1       0       0       0\n",
       "7      0  400  3.08       0       1       0       0\n",
       "8      1  540  3.39       0       0       1       0\n",
       "9      0  700  3.92       0       1       0       0"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# TODO:  Make dummy variables for rank\n",
    "one_hot_data = pd.concat([data, pd.get_dummies(data['rank'], prefix='rank')], axis=1)\n",
    "\n",
    "# TODO: Drop the previous rank column\n",
    "one_hot_data = one_hot_data.drop('rank', axis=1)\n",
    "\n",
    "# Print the first 10 rows of our data\n",
    "one_hot_data[:10]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## TODO: Scaling the data\n",
    "The next step is to scale the data. We notice that the range for grades is 1.0-4.0, whereas the range for test scores is roughly 200-800, which is much larger. This means our data is skewed, and that makes it hard for a neural network to handle. Let's fit our two features into a range of 0-1, by dividing the grades by 4.0, and the test score by 800."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>admit</th>\n",
       "      <th>gre</th>\n",
       "      <th>gpa</th>\n",
       "      <th>rank_1</th>\n",
       "      <th>rank_2</th>\n",
       "      <th>rank_3</th>\n",
       "      <th>rank_4</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>0.475</td>\n",
       "      <td>0.9025</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>0.825</td>\n",
       "      <td>0.9175</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>1.000</td>\n",
       "      <td>1.0000</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>0.800</td>\n",
       "      <td>0.7975</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>0.650</td>\n",
       "      <td>0.7325</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>1</td>\n",
       "      <td>0.950</td>\n",
       "      <td>0.7500</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>1</td>\n",
       "      <td>0.700</td>\n",
       "      <td>0.7450</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>0</td>\n",
       "      <td>0.500</td>\n",
       "      <td>0.7700</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>1</td>\n",
       "      <td>0.675</td>\n",
       "      <td>0.8475</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>0</td>\n",
       "      <td>0.875</td>\n",
       "      <td>0.9800</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   admit    gre     gpa  rank_1  rank_2  rank_3  rank_4\n",
       "0      0  0.475  0.9025       0       0       1       0\n",
       "1      1  0.825  0.9175       0       0       1       0\n",
       "2      1  1.000  1.0000       1       0       0       0\n",
       "3      1  0.800  0.7975       0       0       0       1\n",
       "4      0  0.650  0.7325       0       0       0       1\n",
       "5      1  0.950  0.7500       0       1       0       0\n",
       "6      1  0.700  0.7450       1       0       0       0\n",
       "7      0  0.500  0.7700       0       1       0       0\n",
       "8      1  0.675  0.8475       0       0       1       0\n",
       "9      0  0.875  0.9800       0       1       0       0"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Making a copy of our data\n",
    "processed_data = one_hot_data[:]\n",
    "\n",
    "# TODO: Scale the columns\n",
    "processed_data['gpa'] /= max(processed_data['gpa'])\n",
    "processed_data['gre'] /= max(processed_data['gre'])\n",
    "\n",
    "# Printing the first 10 rows of our procesed data\n",
    "processed_data[:10]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Splitting the data into Training and Testing"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In order to test our algorithm, we'll split the data into a Training and a Testing set. The size of the testing set will be 10% of the total data."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of training samples is 360\n",
      "Number of testing samples is 40\n",
      "     admit    gre     gpa  rank_1  rank_2  rank_3  rank_4\n",
      "243      0  0.775  0.8050       0       1       0       0\n",
      "347      0  0.725  0.9500       0       1       0       0\n",
      "197      1  0.500  0.8075       0       0       0       1\n",
      "37       0  0.650  0.7250       0       0       1       0\n",
      "249      0  0.800  0.9325       0       0       1       0\n",
      "259      0  0.800  0.9525       0       1       0       0\n",
      "224      0  1.000  0.7250       0       1       0       0\n",
      "156      0  0.700  0.6300       0       1       0       0\n",
      "54       0  0.825  0.8350       0       0       1       0\n",
      "295      0  0.650  0.8125       0       0       1       0\n",
      "     admit    gre     gpa  rank_1  rank_2  rank_3  rank_4\n",
      "0        0  0.475  0.9025       0       0       1       0\n",
      "2        1  1.000  1.0000       1       0       0       0\n",
      "28       1  0.975  0.8050       0       1       0       0\n",
      "36       0  0.725  0.8125       1       0       0       0\n",
      "72       0  0.600  0.8475       0       0       0       1\n",
      "73       0  0.725  1.0000       0       1       0       0\n",
      "83       0  0.475  0.7275       0       0       0       1\n",
      "88       0  0.875  0.8200       1       0       0       0\n",
      "98       0  0.875  0.7200       0       1       0       0\n",
      "105      1  0.925  0.7425       0       1       0       0\n"
     ]
    }
   ],
   "source": [
    "sample = np.random.choice(processed_data.index, size=int(len(processed_data)*0.9), replace=False)\n",
    "train_data, test_data = processed_data.iloc[sample], processed_data.drop(sample)\n",
    "\n",
    "print(\"Number of training samples is\", len(train_data))\n",
    "print(\"Number of testing samples is\", len(test_data))\n",
    "print(train_data[:10])\n",
    "print(test_data[:10])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Splitting the data into features and targets (labels)\n",
    "Now, as a final step before the training, we'll split the data into features (X) and targets (y)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Features: \n",
      "        gre     gpa  rank_1  rank_2  rank_3  rank_4\n",
      "243  0.775  0.8050       0       1       0       0\n",
      "347  0.725  0.9500       0       1       0       0\n",
      "197  0.500  0.8075       0       0       0       1\n",
      "37   0.650  0.7250       0       0       1       0\n",
      "249  0.800  0.9325       0       0       1       0\n",
      "259  0.800  0.9525       0       1       0       0\n",
      "224  1.000  0.7250       0       1       0       0\n",
      "156  0.700  0.6300       0       1       0       0\n",
      "54   0.825  0.8350       0       0       1       0\n",
      "295  0.650  0.8125       0       0       1       0\n",
      "\n",
      "Targets: \n",
      " 243    0\n",
      "347    0\n",
      "197    1\n",
      "37     0\n",
      "249    0\n",
      "259    0\n",
      "224    0\n",
      "156    0\n",
      "54     0\n",
      "295    0\n",
      "Name: admit, dtype: int64\n"
     ]
    }
   ],
   "source": [
    "features = train_data.drop('admit', axis=1)\n",
    "targets = train_data['admit']\n",
    "features_test = test_data.drop('admit', axis=1)\n",
    "targets_test = test_data['admit']\n",
    "\n",
    "print('Features: \\n', features[:10])\n",
    "print ()\n",
    "print('Targets: \\n', targets[:10])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Training the 2-layer Neural Network\n",
    "The following function trains the 2-layer neural network. First, we'll write some helper functions."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Activation (sigmoid) function\n",
    "def sigmoid(x):\n",
    "    return 1 / (1 + np.exp(-x))\n",
    "def sigmoid_prime(x):\n",
    "    return sigmoid(x) * (1-sigmoid(x))\n",
    "def error_formula(y, output):\n",
    "    return - y*np.log(output) - (1 - y) * np.log(1-output)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# TODO: Backpropagate the error\n",
    "Now it's your turn to shine. Write the error term. Remember that this is given by the equation $$ (y-\\hat{y}) \\sigma'(x) $$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "# TODO: Write the error term formula\n",
    "def error_term_formula(x, y, output):\n",
    "    return (y - output) * sigmoid_prime(x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 0\n",
      "Train loss:  0.274687185437\n",
      "=========\n",
      "Epoch: 1000\n",
      "Train loss:  0.205703250568\n",
      "=========\n",
      "Epoch: 2000\n",
      "Train loss:  0.204578114276\n",
      "=========\n",
      "Epoch: 3000\n",
      "Train loss:  0.203685294663\n",
      "=========\n",
      "Epoch: 4000\n",
      "Train loss:  0.202956184469\n",
      "=========\n",
      "Epoch: 5000\n",
      "Train loss:  0.202346502119\n",
      "=========\n",
      "Epoch: 6000\n",
      "Train loss:  0.201825194534\n",
      "=========\n",
      "Epoch: 7000\n",
      "Train loss:  0.201370581226\n",
      "=========\n",
      "Epoch: 8000\n",
      "Train loss:  0.200967437794\n",
      "=========\n",
      "Epoch: 9000\n",
      "Train loss:  0.200604981035\n",
      "=========\n",
      "Finished training!\n"
     ]
    }
   ],
   "source": [
    "# Neural Network hyperparameters\n",
    "epochs = 10000\n",
    "learnrate = 0.5\n",
    "\n",
    "# Training function\n",
    "def train_nn(features, targets, epochs, learnrate):\n",
    "    \n",
    "    # Use to same seed to make debugging easier\n",
    "    np.random.seed(42)\n",
    "\n",
    "    n_records, n_features = features.shape\n",
    "    last_loss = None\n",
    "\n",
    "    # Initialize weights\n",
    "    weights = np.random.normal(scale=1 / n_features**.5, size=n_features)\n",
    "\n",
    "    for e in range(epochs):\n",
    "        del_w = np.zeros(weights.shape)\n",
    "        for x, y in zip(features.values, targets):\n",
    "            # Loop through all records, x is the input, y is the target\n",
    "\n",
    "            # Activation of the output unit\n",
    "            #   Notice we multiply the inputs and the weights here \n",
    "            #   rather than storing h as a separate variable \n",
    "            output = sigmoid(np.dot(x, weights))\n",
    "\n",
    "            # The error, the target minus the network output\n",
    "            error = error_formula(y, output)\n",
    "\n",
    "            # The error term\n",
    "            error_term = error_term_formula(x, y, output)\n",
    "\n",
    "            # The gradient descent step, the error times the gradient times the inputs\n",
    "            del_w += error_term * x\n",
    "\n",
    "        # Update the weights here. The learning rate times the \n",
    "        # change in weights, divided by the number of records to average\n",
    "        weights += learnrate * del_w / n_records\n",
    "\n",
    "        # Printing out the mean square error on the training set\n",
    "        if e % (epochs / 10) == 0:\n",
    "            out = sigmoid(np.dot(features, weights))\n",
    "            loss = np.mean((out - targets) ** 2)\n",
    "            print(\"Epoch:\", e)\n",
    "            if last_loss and last_loss < loss:\n",
    "                print(\"Train loss: \", loss, \"  WARNING - Loss Increasing\")\n",
    "            else:\n",
    "                print(\"Train loss: \", loss)\n",
    "            last_loss = loss\n",
    "            print(\"=========\")\n",
    "    print(\"Finished training!\")\n",
    "    return weights\n",
    "    \n",
    "weights = train_nn(features, targets, epochs, learnrate)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Calculating the Accuracy on the Test Data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Prediction accuracy: 0.675\n"
     ]
    }
   ],
   "source": [
    "# Calculate accuracy on test data\n",
    "test_out = sigmoid(np.dot(features_test, weights))\n",
    "predictions = test_out > 0.5\n",
    "accuracy = np.mean(predictions == targets_test)\n",
    "print(\"Prediction accuracy: {:.3f}\".format(accuracy))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
